
声明 模块 "domain" {

    //@@{ 事件组:events }
    导入 * 转为 事件组 来自 "events";

    //@@{ 域_:Domain, 事件组:events, 事件发生器_:EventEmitter }
    类别 域_ 扩展 事件组.事件发生器_ 实现 NodeJS.域_ {

        //@@{ 运行:run }
        运行<T>(运行函数: (...参数组: 任意[]) => T, ...参数组: 任意[]): T;

        //@@{ 添加:add, 事件组:events, 事件发生器_:EventEmitter, 计时器_:Timer }
        添加(发射器: 事件组.事件发生器_ | NodeJS.计时器_): 无值;

        //@@{ 移除:remove, 事件组:events, 事件发生器_:EventEmitter, 计时器_:Timer }
        移除(发射器: 事件组.事件发生器_ | NodeJS.计时器_): 无值;

        //@@{ 绑定:bind, 函数_:Function }
        绑定<T 扩展 函数_>(回调: T): T;

        //@@{ 拦截:intercept, 函数_:Function }
        拦截<T 扩展 函数_>(回调: T): T;

        //@@{ 成员组:members, 数组_:Array, 事件组:events, 事件发生器_:EventEmitter, 计时器_:Timer }
        成员组: 数组_<事件组.事件发生器_ | NodeJS.计时器_>;

        //@@{ 确定:enter }
        确定(): 无值;

        //@@{ 退出:exit }
        退出(): 无值;
    }

    //@@{ 创建:create, 域_:Domain }
    函数 创建(): 域_;
}
